layui.use(['index', 'form', 'table'], function () {
	let $ = layui.$,
		table = layui.table

	let tableData = null

	/*
	 * 时间戳格式转正常时间格式显示
	 */

	/**格式化日期，如月、日、时、分、秒保证为2位数
	 * @param {Object} n
	 */
	function formatNumber(n) {
		n = n.toString()
		return n[1] ? n : '0' + n
	}

	/**参数number为毫秒时间戳，format为需要转换成的日期格式
	 * @param {Object} number
	 * @param {Object} format
	 * 使用formatTime(1545903266795, 'Y年M月D日 h:m:s')或者formatTime(1545903266795, 'Y-M-D h:m:s')即可
	 */
	function formatTime(number, format) {
		let time = new Date(number)
		let newArr = []
		let formatArr = ['Y', 'M', 'D', 'h', 'm', 's']
		newArr.push(time.getFullYear())
		newArr.push(formatNumber(time.getMonth() + 1))
		newArr.push(formatNumber(time.getDate()))

		newArr.push(formatNumber(time.getHours()))
		newArr.push(formatNumber(time.getMinutes()))
		newArr.push(formatNumber(time.getSeconds()))

		for (let i in newArr) {
			format = format.replace(formatArr[i], newArr[i])
		}
		return format
	}

	function getThousandNumber(num) {
		return num.toString().replace(/\d+/, function (n) {
			// 先提取整数部分
			return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
				// 对整数部分添加分隔符
				return $1 + ','
			})
		})
	}

	/**
	 * 亿单位
	 * @param number
	 * @returns {string}
	 */
	function formatBillionMoney(number) {
		// debugger
		// if (number >= 1E4 && number < 1E8) {
		//     str_num = number / 1E4
		//     return str_num.toFixed(2)
		// } else if (number >= 1E8) {
		//     str_num = number / 1E8
		//     return str_num.toFixed(2)
		// } else { //一千以下
		//     return number
		// }
		return (number / 1e8).toFixed(4)
	}

	function _tranNumber(num, point) {
		let numStr = num.toString().split('.')[0]
		if (numStr.length < 6) {
			return numStr
		} else if (numStr.length >= 6 && numStr.length <= 8) {
			let decimal = numStr.substring(
				numStr.length - 4,
				numStr.length - 4 + point
			)
			return parseFloat(parseInt(num / 10000) + '.' + decimal) + '万'
		} else if (numStr.length > 8) {
			let decimal = numStr.substring(
				numStr.length - 8,
				numStr.length - 8 + point
			)
			return parseFloat(parseInt(num / 100000000) + '.' + decimal) + '亿'
		}
	}

	function simplifyNum(number) {
		if (!number && number !== 0) return number
		var symbol = ''
		if (number < 0) symbol = '-'
		number = Math.abs(number)
		var str_num
		if (number >= 1e4 && number < 1e8) {
			str_num = number / 1e4
			return symbol + str_num.toFixed(2) + '万'
		} else if (number >= 1e8) {
			str_num = number / 1e8
			return symbol + str_num.toFixed(2) + '亿'
		} else {
			//一千以下
			return number
		}
	}

	function changeColor(text) {
		return text.toString().startsWith('-')
			? "<span style='color: #0aab62'>" + text + '</span>'
			: "<span style='color: #f33333'>" + text + '</span>'
	}

	//数据表格
	// let loading = layer.msg("数据请求中...");
	table.render({
		elem: '#LAY-manage',
		// url: '/kpl/daBan/list',
		url: 'http://localhost:5000/kpl/daBan/list',
		loading: true,
		autoSort: false,
		cols: [
			[
				{ title: '股票代码', field: 'code', minWidth: 60 },
				{ title: '股票名称', field: 'name', minWidth: 60 },
				{
					title: '涨停委买',
					field: 'buyAmount',
					minWidth: 75,
					sort: true,
					templet: function (d) {
						return simplifyNum(d.buyAmount)
					},
				},
				{
					title: '竞价涨幅',
					field: 'openPer',
					minWidth: 75,
					sort: true,
					templet: (d) => {
						return changeColor(d.openPer)
					},
				},
				{
					title: '实际涨幅',
					field: 'shiJiPer',
					templet: (d) => {
						return changeColor(d.shiJiPer)
					},
				},
				{ title: '板块', field: 'plate', minWidth: 180 },
				{
					title: '主力净额',
					field: 'jingJiaJingE',
					sort: true,
					minWidth: 75,
					templet: function (d) {
						return changeColor(simplifyNum(d.jingJiaJingE))
					},
				},
				{
					title: '竞价成交',
					field: 'jingJiaChengJiaoE',
					sort: true,
					minWidth: 75,
					templet: function (d) {
						return simplifyNum(d.jingJiaChengJiaoE)
					},
				},
				{ title: '板位', field: 'banWei' },
				{
					title: '竞价换手',
					field: 'jingJiaHuanShou',
					templet: function (d) {
						return d.jingJiaHuanShou + '%'
					},
				},
				{
					title: '实际流通',
					field: 'shiJiLiuTong',
					templet: function (d) {
						return simplifyNum(d.shiJiLiuTong)
					},
				},
				{ title: '价格(元)', field: 'price', minWidth: 80 },
				{ title: '交易日', field: 'day', minWidth: 80 },
			],
		],
		page: false,
		done: function (res) {
			tableData = res.data
			$('.layui-table-body tr').each(function (index) {
				var code = tableData[index] ? tableData[index].code : ''
				$(this).attr('data-id', code)
			})
		},
	})

	// 监听行点击事件
	table.on('row(LAY-manage)', function (e) {
		if (undefined === e.data.plate) return
		var array = e.data.plate.split('、')
		// 遍历所有行，根据条件设置背景色
		tableData.forEach(function (item) {
			var rowData = item.plate
			var includesFlag = array.some((keyword) => rowData.includes(keyword))
			// 根据是否包含关键字来设置背景色
			$('.layui-table-body tr[data-id="' + item.code + '"]').css(
				'background-color',
				includesFlag ? '#A0D2E1' : ''
			)
		})

		if (window.chrome && window.chrome.webview) {
			if (navigator.userAgent.indexOf('xtd_client_v1.1') > 0) {
				var message = {}
				message.op = 'OpenStock'
				message.content = '' + e.data.code + ''
				message.type = -1
				window.chrome.webview.postMessage(JSON.stringify(message))
			} else {
				window.chrome.webview.postMessage('OpenStock ' + e.data.code)
			}
		}
	})

	table.on('sort(LAY-manage)', function (obj) {
		//有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
		table.reload('LAY-manage', {
			where: {
				orderField: obj.field,
				orderType: obj.type,
			},
		})
	})
})
